CodeDeployを使用したWindowsサーバへファイル配置した際にイベント内エラーの解消方法について
困っていた内容
CodeDeployを使用したWindowsサーバへファイル配置する際に、CodeDeployのInstallイベント内で以下エラーが発生しております。
回避方法についてご教授ください。
エラーコード:UnknownError メッセージ:source sequence is illegal/malformed utf-8
状況確認
環境を確認したところ、サーバは以下2つ存在します。
サーバ1:
OS:Windows Server 2022 Datacenter Edition(AWS仕様)
地域:日本
地域設定:日本語サーバ2:
OS: Windows Server 2019 Datacenter Edition(AWS仕様)
地域:日本
地域設定:日本語
配置ファイル文字コード:UTF-8、SJIS
どうすればいいの?
方法その1: システムロケール設定画面の設定変更
システムロケールの設定画面にある 「Beta: Use Unicode UTF-8 for worldwide language support」 にチェックを入れることでエラーが解消されます。
Windowsの設定アプリから、[時刻と言語(Time & Language)] - [言語と地域(Language & Region)] - [管理用の言語の設定(Administrative language settings)] を選択し、[システム ロケールの変更(Change system locale)] で、[ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用(Beta: Use Unicode UTF-8 for worldwide language support)] にチェックを入れることでデプロイが成功するかお試しください。
方法その2: フォルダ名・ファイル名の変更
上記1設定を行うとOS(Windows)で使用する文字コードを強制的にUTF-8に変更されます。
既存環境への影響が大きい場合&OSの設定変更は難しいは、フォルダ名・ファイル名を日本語や乗算記号などの特殊文字を除外することで英数字として回避できるかお試してください。
参考資料
[1]ource sequence is illegal/malformed utf-8 · Issue #284 · aws/aws-codedeploy-agent · GitHub
[2]CodeDeploy のトラブルシューティング